package com.junzhiit.nengji.shop.dao;

import java.util.List;

import com.bainaeco.framework.base.dao.BaseDAO;
import com.junzhiit.nengji.shop.bo.CartBO;
import com.junzhiit.nengji.shop.model.Cart;
import com.junzhiit.nengji.shop.model.Shop;

public interface CartDAO extends BaseDAO<Cart> {
	/**
	 * 
	 * TODO api 查询购物车店铺信息去重
	 * 
	 * @author Qjen
	 * @time 2018年3月1日 上午9:52:01
	 * @return List<Shop>
	 *
	 */
	public List<Shop> getCartShop(String userId);
	
	/**
	 * TODO	根据购物车数组查询对应店铺商品信息
	 * @author DlamLiu
	 * @time 2018年6月28日 上午10:35:41
	 * @return List<CartBO>
	 * 
	 */
	public List<CartBO> getCartExtendInfoById(String cart);

	/**
	 * 
	 * TODO api 查询用户的购物车信息
	 * 
	 * @author Qjen
	 * @time 2018年3月1日 上午9:53:07
	 * @return List<CartBO>
	 *
	 */
	public List<CartBO> findAll(String userId,String shopId,Integer isPlatform,Integer isSynchronous);
	
	/**
	 * TODO 查询堂食订单
	 * @author Dlam
	 * @time 2018年9月13日 下午8:07:34
	 * @return List<CartBO>
	 * 
	 */
	public List<CartBO> findEatAll(String userId,String shopId,Integer isPlatform,Integer isSynchronous,Integer type);
	
	/**
	 * 
	 * TODO api 查询符合条件的购物车
	 * 
	 * @author Qjen
	 * @time 2018年3月8日 上午9:18:42
	 * @return Cart
	 *
	 */
	public Cart findCart(Cart cart);

	/**
	 * 
	 * TODO 商品下架使购物车失效
	 * 
	 * @author FebRosy
	 * @time 2018年3月6日 下午3:00:35
	 * @return boolean
	 */
	public boolean updateStatus(String goodsId, int status);
	
	/**
	 * 
	 * TODO api 查询用户购物车商品数
	 * 
	 * @author Qjen
	 * @time 2018年3月8日 下午4:22:33
	 * @return List<Cart>
	 *
	 */
	public Integer sumGoodsNumber(String userId,String shopId);
	
	/**
	 * 
	 * TODO api 批量删除购物车
	 * @author PeterMo
	 * @time 2018年3月16日 上午10:21:31
	 * @return int
	 */
	public int batchDeleteGoods(String[] ids);
	
	/**
	 * TODO	api 批量删除购物车 根据商品ID跟用户ID
	 * @author Qjen
	 * @time 2018年7月5日 下午2:58:42
	 * @return int
	 * 
	 */
	public int batchDeleteGoods(String[] goodsId,String usrtId);

}
